In [18]:
import re
import numpy as np
import pandas as pd
In [12]:
with open("imports.txt") as fp:
raw = fp.readlines()
df = pd.Series(raw)
In [13]:
len(df)
Out[13]:
In [14]:
df.head()
Out[14]:
In [15]:
df[0]
Out[15]:
In [16]:
df = df.str.strip()
In [17]:
df.head()
Out[17]:
In [20]:
re.findall(r'import\ {.*}\ ', df[0])
Out[20]:
In [27]:
df[0:10].apply(split('import')[1].split().head())
In [57]:
ans = [v.split('import')[1].split()[0].strip().split('.')[0].replace('\\n', '').replace('`', '').replace('"', '')
for v in df]
In [58]:
ans = pd.Series(ans)
In [59]:
len(ans)
Out[59]:
In [60]:
ans = pd.Series(ans.unique())
ans
Out[60]:
In [64]:
print(len(ans))
ans = ans[ans.str.contains("/") == False]
len(ans)
Out[64]:
In [65]:
print(len(ans))
ans = ans[ans.str.contains(r"\\") == False]
len(ans)
Out[65]:
In [66]:
ans = pd.Series(ans.unique())
ans
Out[66]:
In [71]:
ans = pd.Series(ans.unique())
ans
Out[71]:
In [70]:
ans = ans.apply(lambda x: x.replace(',', ''))
In [ ]:
In [73]:
with open('requirements.txt', 'w') as fp:
for f in sorted(ans.values):
fp.write('{}\n'.format(f))
In [ ]: